home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / jump_gam.swf / scripts / frame_172 / DoAction_6.as < prev    next >
Encoding:
Text File  |  2010-04-12  |  11.4 KB  |  438 lines

  1. jumper.resetVars = function()
  2. {
  3.    var _loc1_ = this;
  4.    _loc1_.gotoAndStop(1);
  5.    _loc1_.removeIntervals();
  6.    _loc1_.hasCompletedRefresh = true;
  7.    _loc1_.timeIncrement = 1;
  8.    _loc1_.hasIncreasedIncrement = 0;
  9.    _loc1_.myPercentageOfTotal = 0;
  10.    _loc1_.isJumping = 0;
  11.    _loc1_.hasStartedJump = 0;
  12.    _loc1_.storedMomentum = 0;
  13.    _loc1_.storedFrameRate = 0;
  14.    _loc1_.depthFactor = 1;
  15.    _loc1_.y = 0;
  16.    _loc1_.vx = 0;
  17.    _loc1_.vy = 0;
  18.    _loc1_.powerX = 0;
  19.    _loc1_.powerY = 0;
  20.    _loc1_.storedPercent = 0;
  21.    _loc1_.time = 0;
  22.    _loc1_.baseHeight = 0;
  23.    _loc1_.totalY = 0;
  24.    _loc1_._y = _loc1_.baseY;
  25.    _loc1_.storedY = jumper._y;
  26.    _loc1_.totalX = 0;
  27.    _loc1_.currentZone = 0;
  28.    _loc1_.hasRebounded = 0;
  29.    _loc1_.jumpBtnDown = 0;
  30.    _loc1_.collidedZone = "";
  31.    _loc1_.peak = 0;
  32.    _loc1_.storedCrash = "";
  33.    _loc1_.isTricking = 0;
  34.    _loc1_.hasLanded = 0;
  35.    _loc1_.inCar = 0;
  36.    _loc1_.collisions = 0;
  37.    _loc1_.collisionPosition = 0;
  38.    _loc1_.jumpXStart = 0;
  39.    _loc1_.jumpXLand = 0;
  40. };
  41. jumper.baseY = 318;
  42. jumper.lastCleanStep = 1690;
  43. jumper.successHeight = 1.5;
  44. jumper.carSafeX = 37;
  45. jumper.carSafeY = 328;
  46. jumper.initialRunFrame = 5;
  47. jumper.stepOffFrame = 3;
  48. jumper.jumpFrame = 38;
  49. jumper.jumpStepFrame = 40;
  50. jumper.initialJumpFrame = 49;
  51. jumper.finalJumpFrame = 72;
  52. jumper.midRunFrame = jumper.initialRunFrame + Math.round((jumper.jumpFrame - jumper.initialRunFrame) / 2);
  53. jumper.runCycleLastFrame = jumper.initialRunFrame + jumperRunAnimationLength;
  54. jumper.fallFrames = new Array("fall1","fall2","fall3","fall4","fall5","fall6","fall7","fall8");
  55. jumper.tricks = new Array("spreadEagle","toeGrab","cannonBall","sailorDive","flip");
  56. jumper.getY = function()
  57. {
  58.    return this.y;
  59. };
  60. jumper.getResetTime = function()
  61. {
  62.    if(numberOfJumps == maxJumps)
  63.    {
  64.       return endTime;
  65.    }
  66.    return resetTime;
  67. };
  68. jumper.removeIntervals = function()
  69. {
  70.    var _loc1_ = this;
  71.    delete _loc1_.onEnterFrame;
  72.    clearInterval(_loc1_.myFrameAdvance);
  73.    clearInterval(_loc1_.resetScreen);
  74. };
  75. jumper.globalScreenReset = function()
  76. {
  77.    resetScreen(0);
  78.    clearInterval(this.resetScreen);
  79. };
  80. jumper.fetchFallFrame = function()
  81. {
  82.    var _loc1_ = this;
  83.    tempFrame = Math.generateRandom(_loc1_.fallFrames.length - 1,0);
  84.    myFrame = _loc1_.fallFrames[tempFrame];
  85.    if(_loc1_.storedCrash == myFrame)
  86.    {
  87.       _loc1_.fetchFallFrame();
  88.    }
  89.    else
  90.    {
  91.       _loc1_.storedCrash = myFrame;
  92.       _loc1_.gotoAndStop(myFrame);
  93.    }
  94. };
  95. jumper.getCurrentMomentum = function()
  96. {
  97.    var _loc1_ = this;
  98.    _loc1_.totalMomentum = myManager.getMomentum();
  99.    _loc1_.myPercentageOfTotal = _loc1_.totalMomentum / 100;
  100.    _loc1_.vx = footSpeedInPixels * _loc1_.myPercentageOfTotal;
  101.    power.setPowerMeter(_loc1_.totalMomentum);
  102.    if(_loc1_.totalX >= _loc1_.lastCleanStep && !_loc1_.isJumping)
  103.    {
  104.       _loc1_.getJumpThrow();
  105.       _loc1_.setVelocity(10);
  106.    }
  107.    _loc1_.moveJumper();
  108. };
  109. jumper.returnMomentum = function()
  110. {
  111.    var _loc1_ = this;
  112.    if(!_loc1_.isJumping)
  113.    {
  114.       return _loc1_.vx;
  115.    }
  116.    return _loc1_.vx;
  117. };
  118. jumper.returnIsJumping = function()
  119. {
  120.    return this.isJumping;
  121. };
  122. jumper.moveJumper = function()
  123. {
  124.    var _loc1_ = this;
  125.    if(_loc1_._currentFrame > _loc1_.stepOffFrame)
  126.    {
  127.       _loc1_.moveX(_loc1_.vx);
  128.    }
  129. };
  130. jumper.moveX = function(whatX)
  131. {
  132.    var _loc1_ = this;
  133.    _loc1_.storedX = _loc1_._x;
  134.    _loc1_._x += whatX;
  135.    _loc1_.totalX += whatX;
  136.    if(_loc1_.basicCollisionCheck(car.carCollision))
  137.    {
  138.       _loc1_.granularCollisionCheck();
  139.    }
  140. };
  141. jumper.returnXInFeet = function()
  142. {
  143.    return this.totalX / pixelsPerFoot;
  144. };
  145. jumper.basicCollisionCheck = function(whatObject)
  146. {
  147.    if(this.collisionBox.hitTest(whatObject))
  148.    {
  149.       return true;
  150.    }
  151.    return false;
  152. };
  153. jumper.granularCollisionCheck = function()
  154. {
  155.    var _loc1_ = this;
  156.    var _loc2_ = _root;
  157.    myXCoordNear = _loc1_.collisionBox.offsetParentChain(1);
  158.    myXCoordFar = myXCoordNear += _loc1_.collisionBox._width;
  159.    i = 0;
  160.    while(i < zones.length)
  161.    {
  162.       myZone = zones[i];
  163.       myZoneXCoord = myZone.offsetParentChain(1);
  164.       myZoneFarSide = myZoneXCoord + myZone._width;
  165.       if(myXCoordNear <= myZoneFarSide)
  166.       {
  167.          _loc1_.currentZone = i;
  168.          break;
  169.       }
  170.       i++;
  171.    }
  172.    j = _loc1_.currentZone + 1;
  173.    while(j >= _loc1_.currentZone - 1)
  174.    {
  175.       tempZone = zones[j];
  176.       if(_loc1_.collisionBox.hitTest(tempZone))
  177.       {
  178.          if(tempZone.zoneType == 1)
  179.          {
  180.             if(_loc1_.y <= _loc1_.successHeight)
  181.             {
  182.                soundClip.playSafeLand();
  183.                _loc1_.inCar = 1;
  184.                _loc2_.zoneTxt = "I landed Safely";
  185.                car.bounceUp();
  186.                _loc1_.land();
  187.             }
  188.          }
  189.          else if(tempZone != _loc1_.collidedZone)
  190.          {
  191.             if(!_loc1_.hasIncreasedIncrement)
  192.             {
  193.                _loc1_.hasIncreasedIncrement = 1;
  194.                _loc1_.timeIncrement += 2;
  195.             }
  196.             _loc1_.collisions = _loc1_.collisions + 1;
  197.             _loc1_.collisionPosition = _loc1_.y;
  198.             _loc1_.collidedZone = tempZone;
  199.             _loc1_.fetchFallFrame();
  200.             _loc1_.calculateCollisionPoint(tempZone);
  201.             soundClip.playCrashSound();
  202.             break;
  203.          }
  204.       }
  205.       j--;
  206.    }
  207. };
  208. jumper.calculateCollisionPoint = function(whichBox)
  209. {
  210.    var _loc1_ = this;
  211.    var _loc2_ = whichBox;
  212.    _loc1_.hasRebounded = 1;
  213.    if(_loc2_.supportsSide)
  214.    {
  215.       undefined + _loc1_.collisionBox._width;
  216.       point_to_planeX = _loc1_.storedX - _loc2_.offsetParentChain(1);
  217.       point_to_planeY = _loc1_.storedY - _loc2_.offsetParentChain(0);
  218.       check_top = -1 * point_to_planeY;
  219.       check_left = -1 * point_to_planeX;
  220.       if(check_top < check_left)
  221.       {
  222.          car.bounceSide();
  223.          _root.zoneTxt = "side rebound from " + _loc2_;
  224.          _loc1_.vx *= -1 * elasticity;
  225.       }
  226.       else if(check_left == check_top)
  227.       {
  228.          _loc1_.time = 1;
  229.          _loc1_.vx *= -1 * elasticity;
  230.          _loc1_.vy *= -1 * elasticity;
  231.       }
  232.       else
  233.       {
  234.          addr89:
  235.          car.bounceUp();
  236.          _root.zoneTxt = "top rebound from " + _loc2_;
  237.          _loc1_.baseHeight = _loc1_.collisionPosition;
  238.          _loc1_.time = 1;
  239.          _loc1_.vy *= elasticity * 1.5;
  240.          if(_loc1_.vy < vyMin)
  241.          {
  242.             _loc1_.vy = vyMin;
  243.          }
  244.       }
  245.    }
  246.    ┬º┬ºgoto(addr89);
  247. };
  248. jumper.jump = function()
  249. {
  250.    var _loc1_ = this;
  251.    if(!_loc1_.hasRebounded && !_loc1_.isTricking)
  252.    {
  253.       if(_loc1_.jumpBtnDown)
  254.       {
  255.          _loc1_.setVelocity(angleTracker.getAngle());
  256.       }
  257.       if(_loc1_._currentframe >= _loc1_.finalJumpFrame)
  258.       {
  259.          _loc1_.gotoAndStop(_loc1_.initialJumpFrame);
  260.       }
  261.       else
  262.       {
  263.          _loc1_.gotoAndStop(_loc1_._currentframe + 1);
  264.       }
  265.    }
  266.    _loc1_.time += _loc1_.timeIncrement;
  267.    _loc1_.tSecs = _loc1_.time / tSpan;
  268.    _loc1_.y = _loc1_.baseHeight + (_loc1_.vy * _loc1_.tSecs + 0.5 * acceleration * (_loc1_.tSecs * _loc1_.tSecs));
  269.    if(_loc1_.y < 0)
  270.    {
  271.       _loc1_.y = 0;
  272.    }
  273.    if(_loc1_.y > _loc1_.peak)
  274.    {
  275.       _loc1_.peak = _loc1_.y;
  276.    }
  277.    _loc1_.totalY += _loc1_.y;
  278.    _loc1_.moveX(_loc1_.vx);
  279.    if(_loc1_.y > 0)
  280.    {
  281.       _loc1_.storedY = _loc1_._y;
  282.       _loc1_._y = _loc1_.baseY - _loc1_.y;
  283.    }
  284.    else if(!_loc1_.hasLanded)
  285.    {
  286.       _loc1_._y = _loc1_.baseY;
  287.       _loc1_.land();
  288.    }
  289. };
  290. jumper.land = function()
  291. {
  292.    var _loc1_ = this;
  293.    _loc1_.jumpXLand = _loc1_.totalX;
  294.    _loc1_.xSpread = _loc1_.jumpXLand - _loc1_.jumpXStart;
  295.    _level0.jumpTxt = "Spread is " + _loc1_.xSpread;
  296.    _loc1_.vx = 0;
  297.    _loc1_.vy = 0;
  298.    delete _loc1_.onEnterFrame;
  299.    _loc1_.hasLanded = 1;
  300.    soundClip.playLand();
  301.    if(!_loc1_.inCar)
  302.    {
  303.       if(_loc1_.collidedZone == car.zone4 || _loc1_.collidedZone == car.zone5)
  304.       {
  305.          if(_loc1_.collisionBox.hitTest(car.zone3))
  306.          {
  307.             _level0.jumpTxt = "Ugly hack worked";
  308.             _loc1_.inCar = 1;
  309.          }
  310.       }
  311.    }
  312.    myScore = new score(_loc1_.myPercentageOfTotal,_loc1_.xSpread,_loc1_.collisions,_loc1_.inCar,_loc1_.isTricking);
  313.    if(_loc1_.inCar)
  314.    {
  315.       _loc1_._y = _loc1_.carSafeY;
  316.       _loc1_._x = Math.round(car._x) + _loc1_.carSafeX;
  317.       if(_loc1_.hasRebounded)
  318.       {
  319.          _loc1_.gotoAndPlay("carHurt");
  320.       }
  321.       else
  322.       {
  323.          _loc1_.gotoAndPlay("carSafe");
  324.       }
  325.       scored.init(myScore.scoreForText);
  326.    }
  327.    else if(_loc1_.hasRebounded)
  328.    {
  329.       _loc1_.play();
  330.    }
  331.    else if(_loc1_.vx > 10 || _loc1_.peak > 200)
  332.    {
  333.       _loc1_.gotoAndPlay("roughLand");
  334.    }
  335.    else
  336.    {
  337.       _loc1_.gotoAndPlay("landSafe");
  338.    }
  339.    _loc1_.resetScreen = setInterval(_loc1_,"globalScreenReset",_loc1_.getResetTime());
  340. };
  341. jumper.getFrameRate = function()
  342. {
  343.    return Math.round(jumperMaxAnimationCycle - this.myPercentageOfTotal * jumperAnimationCycleDelta);
  344. };
  345. jumper.advanceFrame = function()
  346. {
  347.    var _loc1_ = this;
  348.    if(_loc1_.vx > 0)
  349.    {
  350.       clearInterval(_loc1_.myFrameAdvance);
  351.       if(_loc1_.hasCompletedRefresh == true)
  352.       {
  353.          _loc1_.hasCompletedRefresh = false;
  354.          var _loc2_ = _loc1_.getNextFrame();
  355.          _loc1_.gotoAndStop(_loc2_);
  356.          updateAfterEvent();
  357.          _loc1_.hasCompletedRefresh = true;
  358.          _loc1_.storedFrameRate = _loc1_.getFrameRate();
  359.          _loc1_.myFrameAdvance = setInterval(_loc1_,"advanceFrame",_loc1_.storedFrameRate);
  360.       }
  361.    }
  362. };
  363. jumper.getNextFrame = function()
  364. {
  365.    var _loc1_ = this;
  366.    var _loc2_ = _loc1_._currentframe + 1;
  367.    if(_loc1_.isJumping)
  368.    {
  369.       if(!_loc1_.hasStartedJump)
  370.       {
  371.          _loc1_.hasStartedJump = 1;
  372.          _loc2_ = _loc1_.jumpFrame + 1;
  373.       }
  374.    }
  375.    else if(_loc2_ > _loc1_.runCycleLastFrame)
  376.    {
  377.       _loc2_ = _loc1_.initialRunFrame;
  378.    }
  379.    return _loc2_;
  380. };
  381. jumper.getJumpThrow = function()
  382. {
  383.    var _loc1_ = this;
  384.    if(!_loc1_.returnIsJumping())
  385.    {
  386.       angleTracker.startTracking();
  387.       _loc1_.isJumping = 1;
  388.       _loc1_.setJumpStatus(1);
  389.       _loc1_.time = 0;
  390.       _loc1_.powerX = _loc1_.vx;
  391.       _loc1_.powerY = _loc1_.myPercentageOfTotal * jumpSpeedInPixels;
  392.       _loc1_.jumpXStart = _loc1_.totalX;
  393.       _loc1_.gotoAndStop(_loc1_.jumpStepFrame);
  394.       clearInterval(_loc1_.myFrameAdvance);
  395.       delete _loc1_.onEnterFrame;
  396.       _loc1_.onEnterFrame = _loc1_.jump;
  397.    }
  398. };
  399. jumper.setTrick = function(whatTrick)
  400. {
  401.    var _loc1_ = this;
  402.    _global.isAwareOfTricks = 1;
  403.    if(_loc1_.returnIsJumping())
  404.    {
  405.       if(_loc1_.isTricking == 0 && _loc1_.hasLanded == 0 && _loc1_.hasRebounded == 0)
  406.       {
  407.          _loc1_.isTricking = 1;
  408.          _loc1_.gotoAndPlay(_loc1_.tricks[whatTrick]);
  409.       }
  410.    }
  411. };
  412. jumper.setJumpStatus = function(status)
  413. {
  414.    if(status)
  415.    {
  416.       this.jumpBtnDown = 1;
  417.    }
  418.    else
  419.    {
  420.       this.jumpBtnDown = 0;
  421.    }
  422. };
  423. jumper.setVelocity = function(angle)
  424. {
  425.    var _loc1_ = this;
  426.    _loc1_.angle = angle;
  427.    _loc1_.vy = _loc1_.powerY * Math.sin(_loc1_.angle * Math.rad);
  428.    _loc1_.vx = _loc1_.powerX * Math.cos(_loc1_.angle * Math.rad);
  429. };
  430. jumper.init = function()
  431. {
  432.    var _loc1_ = this;
  433.    _loc1_.resetVars();
  434.    _loc1_.onEnterFrame = _loc1_.getCurrentMomentum;
  435.    _loc1_.myFrameAdvance = setInterval(_loc1_,"advanceFrame",myFramerate);
  436. };
  437. jumper.init();
  438.